/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package descricaoProduto;

import descricaoProduto.DescricaoProdutoNaoCadastradoException;
import java.util.List;
import descricaoProduto.DescricaoProduto;
import util.ErroAcessoRepositorioException;

/**
 *
 * @author Alberto
 */
public interface IRepositorioDescricaoProduto {

    /**
     * Metodo que ira cadastrar o DescricaoProduto
     *
     * @param DescricaoProduto objDescricaoProduto
     * @return void
     */
    public void cadastrarAtualizar(DescricaoProduto objDescricaoProduto) throws  ErroAcessoRepositorioException ;


    /**
     * Metodo que ira produrar o DescricaoProduto
     *
     * @param int idDescricaoProduto
     * @return void
     */
    public DescricaoProduto procurar(int idDescricaoProduto) throws DescricaoProdutoNaoCadastradoException, ErroAcessoRepositorioException ;

    /**
     * Metodo que ira verificar a existência do DescricaoProduto
     *
     * @param int idDescricaoProduto
     * @return void
     */
    public boolean existe(int idDescricaoProduto) throws ErroAcessoRepositorioException ;

    /**
     * Metodo que ira listar os DescricaoProdutos
     *
     * @return Collection
     */
    public List<DescricaoProduto> listar(String strComplemento) throws Exception, ErroAcessoRepositorioException ;

    /**
     * Método que ira remover o DescricaoProduto do banco
     *
     * @param idDescricaoProduto
     */
    public void remover(int idDescricaoProduto) throws DescricaoProdutoNaoCadastradoException, ErroAcessoRepositorioException ;
}
